package com.tarena.lbs.content.dao.repository.impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.tarena.lbs.base.protocol.pager.PageResult;
import com.tarena.lbs.content.dao.mapper.ActionMapper;
import com.tarena.lbs.content.dao.repository.ActionRepository;
import com.tarena.lbs.content.pojo.po.ActionSearchPO;
import com.tarena.lbs.content.pojo.query.ArticleQuery;
import com.tarena.lbs.content.pojo.vo.ArticleActionVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.List;

@Slf4j
@Repository
public class ActionRepositoryImpl implements ActionRepository {

    @Autowired
    private ActionMapper actionMapper;

    @Override
    public void saveAction(ActionSearchPO po) {
        log.debug("保存行为记录参数：{}", po);
        if (po.getId() != null) {
            // 如需支持编辑，可添加更新逻辑
        } else {
            actionMapper.insert(po);
        }
    }

    // 文件：content-web/src/main/java/com/tarena/lbs/content/dao/repository/impl/ActionRepositoryImpl.java
    // 文件：content-web/src/main/java/com/tarena/lbs/content/dao/repository/impl/ActionRepositoryImpl.java
    @Override
    public PageInfo<ActionSearchPO> pageListByBehavior(ArticleQuery query, Integer behavior) {
        log.debug("行为分页查询参数：{}，行为类型：{}", query, behavior);
        // 移除QueryWrapper，改用Mapper自定义方法（与ActionMapper.selectByQuery匹配）
        PageHelper.startPage(query.getPageNo(), query.getPageSize());
        // 修复：调用正确的selectByQuery方法，传递query和behavior参数
        List<ActionSearchPO> pos = actionMapper.selectByQuery(query, behavior);
        return new PageInfo<>(pos);
    }

// 删除原assembleQuery方法（无需QueryWrapper，SQL在ActionMapper中定义）
}